package run.siyuan.common.constant.rabbitmq;

public interface Constants {

    interface Queue {

        // ------------------------------ delay -------------------------------------
        // 延时交换机
        String RABBITMQ_DELAY_EXCHANGE = "delay.exchange";
        // 延时交换机队列
        String RABBITMQ_DELAY_EXCHANGE_QUEUE = "delay.exchange.queue";
        // 延时交换机路由键
        String RABBITMQ_DELAY_EXCHANGE_ROUTE_KEY = "delay.exchange.route.key";


        // ------------------------------ dead.letter.fanout -------------------------------------
        // 死信交换机
        String RABBITMQ_DELAY_LETTER_EXCHANGE = "dead.letter.exchange";

        // 死信交换机队列
        String RABBITMQ_DELAY_LETTER_EXCHANGE_QUEUE = "dead.letter.exchange.queue";

        // 死信交换机路由键
        String RABBITMQ_DELAY_LETTER_EXCHANGE_ROUTE_KEY = "dead.letter.exchange.route.key";


        // ------------------------------ ttl demo -------------------------------------
        // 延时demo交换机
        String RABBITMQ_TTL_DEMO_EXCHANGE = "ttl.demo.exchange";
        // 延时demo交换机队列
        String RABBITMQ_TTL_DEMO_EXCHANGE_QUEUE = "ttl.demo.exchange.queue";
        // 延时demo交换机路由键
        String RABBITMQ_TTL_DEMO_EXCHANGE_ROUTE_KEY = "ttl.demo.exchange.route.key";

        // ------------------------------ canal demo -------------------------------------
        // 延时demo交换机
        String RABBITMQ_SIYUAN_CANAL_EXCHANGE = "siyuan.canal.exchange";
        // 延时demo交换机队列
        String RABBITMQ_SIYUAN_CANAL_EXCHANGE_QUEUE = "siyuan.canal.exchange.queue";
        // 延时demo交换机路由键
        String RABBITMQ_SIYUAN_CANAL_EXCHANGE_ROUTE_KEY = "siyuan.canal.exchange.route.key";


        // ------------------------------ other -------------------------------------
        // 测试 rabbitma 队列名
        String RABBITMQ_SIYUAN_RABBITMQ_TEST_QUEUE = "siyuan-rabbitmq-test-queue";

        // 测试 rabbitma 队列名
        String RABBITMQ_SIYUAN_RABBITMQ_TEST_QUEUE_MESSAGE = "siyuan-rabbitmq-test-queue-message";

        // ------------------------------ 业务队列 -------------------------------------
        String RABBITMQ_SERVICE_QUEUE = "service.queue";


        /**
         * RocketMq
         */
        String ROCKETMQ_SYNC_ES_ITEM_QUEUE = "sync_es_item";


    }

    interface Gourp{
        String ROCKETMQ_PRODUCT_GROUP = "productGroup";

    }


    public interface EsIndex {
        String BOOK_INDEX = "book";
        String ITEM = "item";
    }

}
